import {ElMessage} from 'element-plus'

// 消息默认配置
const defaultOptions = {
  max: 3,
  duration: 3000,
  showClose: true,
  offset: 80 // 距离顶部的距离，调整为80px以避免遮挡系统管理菜单
}

/**
 * 全局消息服务
 * 统一管理所有消息提示的配置和显示
 */
export const MessageService = {
  /**
   * 成功消息
   */
  success(message: string, options = {}) {
    return ElMessage.success({
      message,
      ...defaultOptions,
      ...options
    })
  },

  /**
   * 错误消息
   */
  error(message: string, options = {}) {
    return ElMessage.error({
      message,
      ...defaultOptions,
      duration: 5000, // 错误消息显示时间稍长
      ...options
    })
  },

  /**
   * 警告消息
   */
  warning(message: string, options = {}) {
    return ElMessage.warning({
      message,
      ...defaultOptions,
      ...options
    })
  },

  /**
   * 信息消息
   */
  info(message: string, options = {}) {
    return ElMessage.info({
      message,
      ...defaultOptions,
      ...options
    })
  },

  /**
   * 关闭所有消息
   */
  closeAll() {
    ElMessage.closeAll()
  }
}

// 导出默认配置，供其他地方使用
export { defaultOptions as messageDefaultOptions }